Mã giả Giải thuật Euclid

Var a,b:integer;Function UCLN(x,y:integer):integer;Begin     if x mod y = 0 then UCLN:=y else UCLN:=UCLN(y,x mod y);end;Begin     {Nhập 2 số a,b};     writeln(UCLN(a,b));     readln;end.

Chương trình con (thủ tục) dùng vòng lặp

 1 procedure UCLN(a, b: integer); 2 var x,y,r: integer; 3 Begin 4   x:= b; 5   y:= a; 6   while y <> 0 do 7     begin 8       r:= x mod y; 9       x:= y;10       y:= r;11     end;{x là ước số chung cần tìm}12 End;

Chương trình con dùng C++ (đệ quy)

1 int UCLN(int a, int b)2 {3     return b ? UCLN(b, a % b) : a;4 }

Chương trình con dùng C++ (vòng lặp)

 1 int UCLN(int a, int b) { 2     int temp; 3     while (b != 0)  4     { 5         temp = a % b; 6         a = b; 7         b = temp; 8     } 9     return a;10 }

Chương trình con (hàm) dùng đệ quy (Python)

def gcd(a,b):    if b == 0:        return a    else:        return gcd(b,a % b)

Thủ tục dùng đệ quy (SQL)

CREATE PROCEDURE proc_UCLN@n1 INT,@n2 INTASBEGIN	IF @n2=0	BEGIN		PRINT @n1	END	ELSE BEGIN		DECLARE @n INT		SET @n=@n1%@n2		EXEC proc_UCLN @n2, @n		ENDEND